package com.example.data.factory.entity.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 数据标准目录
 * </p>
 *
 * @author lhy
 * @since 2025-03-03
 */
@Getter
@Setter
@TableName("data_standard")
@ApiModel(value = "DataStandard对象", description = "数据标准目录")
public class DataStandard implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("数据标准id")
    @TableId(value = "standard_id", type = IdType.AUTO)
    private Integer standardId;

    @ApiModelProperty("系统自动生成，固定格式：字符“BZ”+5位数字“00001”")
    private String standardCode;

    @ApiModelProperty("中文名称")
    private String chineseName;

    @ApiModelProperty("英文名称")
    private String englishName;

    @ApiModelProperty("标准说明")
    private String description;

    @ApiModelProperty("来源机构")
    private String institution;

    @ApiModelProperty("数据类型（String、Int、Float、Enum）")
    private String dataType;

    @ApiModelProperty("默认值")
    private String value;

    @ApiModelProperty("最小值")
    private Double min;

    @ApiModelProperty("最大值")
    private Double max;

    @ApiModelProperty("字符串最大长度")
    private Integer length;

    @ApiModelProperty("数据精度")
    private Double dataAccuracy;

    @ApiModelProperty("码表id")
    private Long dictId;

    @ApiModelProperty("码表名称")
    private String dictName;

    @ApiModelProperty("Y-不为空，N-为空")
    private String notNull;

    @ApiModelProperty("0-未发布（草稿），1-已发布，2-已停用")
    private Byte status;

    @ApiModelProperty("删除状态 0：未删除， 1：已删除")
    private Byte deleted;

    @ApiModelProperty("创建人")
    private String createBy;

    @ApiModelProperty("引用码表编号")
    private String dictCode;

    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty("更新时间")
    private LocalDateTime updateTime;
}
